home *** CD-ROM | disk | FTP | other *** search
- /* Logical Selector */
- /* Fills the gap left by logical edit module */
- /* Allows Logical Selection of clock position in bar */
- /* Set up for 8 beat bars or less at the moment */
- /* © Dick Doyle */
-
-
- options results
- MXCOLUMN 1
-
- MXRADIO "Notes,Poly AT,Control Change,Program Change,Channel AT,Pitch Bend,Play Sequence,Tempo Change,Mute Sequence,Solo Sequence"
-
- MXRADIO "Marked Area,All"
-
-
-
-
-
- MXCOLUMN 2
-
- MXSLIDER 'Start Clock,0,1535,0'
- MXSLIDER 'End Clock,0,1535,1535'
- MXSLIDER "Channel Select,1,16,1"
- MXLABEL ''
- MXLABEL 'BEATS IN CLOCKS'
- MXLABEL '1= 000- 191/2= 192- 383'
- MXLABEL '3= 384- 575/4= 576- 767'
- MXLABEL '5= 768- 959/6= 960-1151'
- MXLABEL '7=1152-1343/8=1344-1535'
-
-
-
-
- MXREQUEST 'LOGICAL SELECTOR,SELECT'
- if result == 0 then exit
-
- MXVALUE 1
- i = Result
- if i = 0 then Etype = 'NOTE'
- if i = 1 then Etype = 'PAT'
- if i = 2 then Etype = 'CTL'
- if i = 3 then Etype = 'PGM'
- if i = 4 then Etype = 'CAT'
- if i = 5 then Etype = 'PBEN'
- if i = 6 then Etype = 'PSEQ'
- if i = 7 then Etype = 'TEMP'
- if i = 8 then Etype = 'MSEQ'
- if i = 9 then Etype = 'SSEQ'
-
- MXVALUE 3
- x = result
-
- MXVALUE 4
- y = result
-
- MXVALUE 5
- Chanum = result
-
-
- MXPOINTER "sleepy"
-
- MXVALUE 2
- if result == 0 then BEGINSCAN 'selected'
- else BEGINSCAN 'all'
- if result ~= 0 then do forever
-
- NEXTEVENT
- if result == 0 then break
-
-
-
- if EVENT.TYPE == Etype then do
- if Etype = "NOTE" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- end
- end
-
- if EVENT.TYPE == Etype then do
- if Etype = "PAT" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "CTL" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "PGM" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "CAT" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "PBEN" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- if event.channel == chanum - 1 then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "PSEQ" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "TEMP" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "MSEQ" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
- if EVENT.TYPE == Etype then do
- if Etype = "SSEQ" then do
- if event.start.clocks >= x then
- if event.start.clocks <= y then
- REPLEVENT
- MXOPTION "SELECTED"
- END
- END
-
-
- end
- ENDSCAN
-
- MXPOINTER "normal"
-
-
-
- exit
-